Processes executed in a computer system may include task schedulers that schedule tasks of processes for execution in the computer system. These schedulers may operate with various algorithms that determine how tasks of a process are to be executed. The algorithms, however, may not take full advantage of the underlying hardware topology of the computer system. For example, the algorithms may not fully exploit memory locality effects in a computer system with a memory hierarchy and multiple processors. As a result, a scheduler may not optimize the execution of a process in a computer system.